<?php

if (!defined('BASEPATH'))
    exit('No direct script access allowed');
session_start();

class jx_ventasProductos extends CI_Controller {

    private $establecimiento;
    private $inventario;

    public function __construct() {
        parent::__construct();
        $this->load->model('_productoM');
        $this->load->model('_categoria_productoM');

         $this->load->model('producto_x_ventaM');
         $this->load->model('producto_servicioM');
         $this->load->model('venta_producto_servicioM');
        $this->establecimiento = $_SESSION["establecimiento"]["id_establecimiento"];
    }

    public function index() {
        
    }

   
    //FUncion para obtener los productos de una categoria y despleagarlos en 
    public function getProductosOnCategoria() {
        if (!empty($_POST)) {
            $this->escapar($_POST);
            echo $this->createCombo($_POST['Id_categoria']);
        }
    }

    private function createCombo($Id_categoria) {
        $productos = $this->_productoM->getAllProductosConInventarios($this->establecimiento, $Id_categoria);
        $options = "<option value='-1'>Todas</option>";
        foreach ($productos as $producto) {
            $options.="<option data-valor= {$producto->valor} data-inventario= '{$producto->cantidad_actual}' value= {$producto->id_servicio} > {$producto->nombre} </option>";
        }
        return $options;
    }

   
  
///////////////////////////// F U N C I O N E S   P A R A   V E N T A S
    public function search() {
        if (!empty($_POST)) {
            $this->escapar($_POST);

            $limit = 5;
            $offset = $_POST['pagina'] * ($limit) - $limit;

            $query = "SELECT v.id_venta_servicio, v.fecha, v.total_venta, v.tipo, c.nombre, u.usuario, vpro.id_servicio FROM PRODUCTO_x_VENTA vpro, CLIENTE c, USUARIO u, venta_producto_servicio v  WHERE v.id_venta_servicio = vpro.id_venta_servicio AND c.id_establecimiento='{$_SESSION['establecimiento']['id_establecimiento']}' AND v.usuario_encargado=u.id_usuario AND ";
            $query.=(!empty($_POST['tipoB'])) ? " lower(v.tipo) LIKE '" . strtolower($_POST['tipoB']) . "%' AND " : " ";
            $query.=(!empty($_POST['categoriaB'])) ? " v.id_venta_servicio IN (select id_venta_servicio from producto_x_venta where id_servicio IN (select id_servicio FROM producto_servicio where id_categoria_producto = '{$_POST['categoriaB']}' )) AND " : " ";
             $query.=(!empty($_POST['productoB'])) ? "vpro.id_servicio = '{$_POST['productoB']}' AND " : " ";
            $query.=" TRUE ORDER BY v.id_venta_servicio ";            
            
            $result = $this->venta_producto_servicioM->query($query);
            $n = sizeof($result);
            $query.="LIMIT $limit OFFSET $offset";
            $this->createTableVentas($query, $_POST['pagina'], $n, $limit);
        }
    }

    //funcion encargada de crear la tabla con los resultados arrojados 
    public function createTableVentas($query, $pagina, $nFilas, $limit) {
        $table = "";
        $ventas = $this->venta_producto_servicioM->query($query);

        //  var_dump($productos);
        foreach ($ventas as $venta) {
            $class = "editar-persona";
            $table.="<tr>
                                    <td>$venta->id_venta_servicio</td>
                                    <td>$venta->fecha</td>
                                    <td>$venta->nombre</td>
                                    <td>$venta->total_venta</td>
                                    <td>$venta->tipo</td>
                                    <td>$venta->usuario</td>
                                    <td>
                                        <a href='#modalEditarClientePersona' class='btn btn-mini btn-inverse $class' type='button' data-toggle='modal' data-id='{$venta->id_venta_servicio}'>Ver mas</a>                                                                  
                                    </td>
                                </tr>  ";
        }

        echo "$table %%% " . $this->createPagination($nFilas, $pagina, $limit);
    }

    ///////////////////////////// F U N C I O N E S   C O M U N E S
    public function createPagination($n, $active, $limit) {
        $n = ceil($n / $limit);
        // return $n;
        $pagination = "<ul>";
        for ($i = 1; $i <= $n; $i++) {
            $pagination.="<li ";
            $pagination.=($i == $active) ? " class=active>" : ">";
            $pagination.="<a class='pagination' data-pagina='$i' href='#'>$i</a></li>";
        }
        $pagination .= "</ul>";
        return $pagination;
    }

}
